<html>
    <body>
        <H1>Table of Contents</H1>
        <P><A href="#Prerequisites">Prerequisites</A><br>
            <A href="#WhatItIs">What it is</A><br>
            <A href="#ThreeDView">3D View</A><br>
            <A href="#UserInterface">User Interface</A><br>
            <A href="#CharacterImport">Character Import</A><br>
            <A href="#ShipImport">Ship Import</A><br>
            <A href="#Gm2Vrml">gm-&gt;VRML</A><br>
            <A href="#Vrml2Gm">VRML-&gt;gm</A><br>
            <A href="#StartGame">Start Game</A><br>
            <A href="#Locators">Locators</A><br>
            <A href="#Locations">Scenes</A><br>
            <A href="#MakeLocationsFile">Make Locations File</A><br>
            <A href="#2DView">2D View</A><br>
            <A href="#Animations">Animations</A><br>
            <A href="#Extras">Extras</A><br>
            <A href="#Plugins">Plugins</A><br>
        </P>
        <A name="Prerequisites"></A>
        <H1>Prerequisites</H1>
        <P>The Program needs Microsoft .NET-Framework to run. Get it from here:
        </P>
        <P class="MsoNormal"><A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&amp;displaylang=en</A></P>
        <P class="MsoNormal">&nbsp;</P>
        <A name="WhatItIs"></A>
        <H1>What it is</H1>
        <UL>
            <LI>
            It's a viewer for gm files and animations. You can also make your own 
            animations with it.
            <LI>
            It&nbsp;puts sekeleton information into character models, so they are animated 
            correctly in the game.
            <LI>
                It can also convert between gm file format and VRML, so PotC models can be 
                converted to VRML, loaded into a modeler program, edited, saved as VRML again 
                and converted back to gm. (For ships, however, this process has some 
                limitations.)</LI></UL>
        <BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
            <P>NOTE: The tool has been tested with VRML output from Max - with&nbsp;VRML-files 
                generated by Maya or&nbsp;any other program&nbsp;it might or might not work. 
                &nbsp;</P>
        </BLOCKQUOTE>
        <UL>
            <LI>
            Locators can be edited and new Locators added.
            <LI>
            It can display and edit the charcter patch files (.ptc).
            <LI>
                It is of course not a modeling program. Make your models in Maya or Max or the 
                program of your choice. Maya users still need the plugins to convert to gm 
                before using this tool; Max users can export from Max in VRML format and put in 
                the skeleton + convert to gm in one step with this program.
            </LI>
        </UL>
        <A name="ThreeDView"></A>
        <H1>3D View</H1>
        <P>For the 3D View Window to function you need DirectX installed (probably 
            DirectX9). To see models textured you have to convert textures to tga format 
            (with txconverter) and point the tool to the directory where those tga textures 
            are located (enter the path&nbsp;into the <EM>Texture Directory</EM> textbox).</P>
        <P>To navigate in 3DView:</P>
        <UL>
            <LI>
            hold the&nbsp;right mouse button and move the mouse up/down to zoom in/out
            <LI>
            hold the&nbsp;left mouse button and move the mouse right/left&nbsp;to rotate 
            the model around the y-axis
            <LI>
            hold the&nbsp;left mouse button and move the mouse up/down to rotate the model 
            around the x-axis.
            <LI>
                hold the&nbsp;middle mouse button and move the mouse right/left to rotate the 
                model around the z-axis.</LI></UL>
        <P>Zooming resets all rotaions so things can't get messed up too much ;).</P>
        <A name="UserInterface"></A>
        <H1>User Interface</H1>
        <P>Open files via the menu bar or toolbar and save them in a different format. 
            Character import and binding is done via the <EM>Character Autoimport</EM> toolbar 
            button or the commands in the <EM>Character</EM> menu.
        </P>
        <P>On saving, "_x" is automatically appended to all filenames. If you don't want 
            that, uncheck the <EM>Add _x to filename</EM> checkbox in the main window.
        </P>
        <P>The other&nbsp;checkboxes and textboxes can usually be left at their default 
            values, except in the following cases:
        </P>
        <P></P>
        <UL>
            <LI>
                The checkbox <EM>Reverse Normals</EM>
            is usually checked; uncheck it if Models look "hollow" and/or seem to face the 
            wrong way.
            <LI>
                If the textured models look strange (because the textures are upside down) 
                uncheck the <EM>Invert Textures</EM>
            checkbox and import again. To go from gm to vrml and back again (after editing 
            in Max), the checkbox usually has to remain checked.
            <LI>
                When importing ships, items or locations from vrml&nbsp;check the <EM>Ship/Item/Location</EM>&nbsp;checkBox. 
                The <EM>Make Path Visible</EM> checkbox has to remain checked, except for the <EM>..._path.gm</EM>
                models which define where sailors can go to on ships.
                <br>
            <LI>
                The field <EM>Separate Hats</EM>and the checkbox <EM>Make Bone Locators</EM>
            are&nbsp;for character import (see below).
            <LI>
                The <EM>Avatar Studio</EM> checkbox is exclusively for import of VRML models 
                made with a program named Avatar Studio. For all other models it has to stay 
                unchecked. (Note that Avatar Studio models are zipped and have to be unzipped 
                before import.)
            </LI>
        </UL>
        <A name="CharacterImport"></A>
        <H1>Character Import and Binding</H1>
        <P>This paragraph explains how to get a character made with a modeler program into 
            the game.
        </P>
        <P><STRONG>IMPORTANT: If your model doesn't have any bones,&nbsp;it has to be saved 
                with both arms streched out to the sides</STRONG>; NOT in the position the 
            original game models are saved in. The program will then save your model in the 
            position needed for the game.</P>
        <P><IMG alt="Character with arms raised" src="ArmsRaised.gif"></P>
        <P><STRONG>For stock models converted to VRML and back binding is not necessary</STRONG>, 
            because the bone numbers are retained on export (coded into texture 
            coordinates). Such models can accordingly be&nbsp;converted without raising the 
            arms.
            <BR>
            Only if you want to bind the model anew (for example to a different skeleton) 
            the raising of arms is necessary with stock models.&nbsp;This can be done via 
            the <EM>Extras / Raise Arms</EM> menu command. That command works only for 
            stock game models, and it must be done&nbsp;<STRONG>before</STRONG> editing the 
            charater in a modeling program (Maya or Max).&nbsp;Before binding 
            again,&nbsp;you must in this case use the <EM>Character / Unbind</EM> menu item 
            to reset bone numbers.
        </P>
        <P>If you make models from scratch or import from other sources, you have to raise 
            arms manually in the modeling program. If after binding (putting the skeleton 
            information in as explained below) the arms are very close to the body, raise 
            them up a bit more.
            <BR>
            Legs can be in the same position as the original ones, but make sure there's a 
            little space between the left and the right leg.</P>
        <P>To get a character model ready for the game, the following steps are necessary:
        </P>
        <UL>
            <LI>
            Open the File (gm oder vrml)
            <LI>
            Resize the model so it's the same height as other characters
            <LI>
            Drop and center the model so it's in the middle of the coordinate system, feet 
            on the ground
            <LI>
            Bind the model to the skeleton (put the skeleton information in)
            <LI>
                Save in gm format
            </LI>
        </UL>
        <P>The menu command <EM>Auto Import</EM> / the corresponding toolbar button perform 
            all these steps automatically. If on the other hand you wnat to skip certain 
            steps or check intermediate results in Gm Viewer, you can perform the steps 
            manually via the <EM>Character</EM> menu.
        </P>
        <P>For Characters that are not symmetrical, it is bettter to skip the "Drop and 
            center" step, because centering&nbsp;might not work correctly. Center the model 
            in your modeler program, instead.
        </P>
        <P>Results are best when the model matches the skeleton of the male characters in 
            the game precisely (especially length of arms). Deviations result in bones 
            bending where no joints are. Models with skirts (towngirls) will for that 
            reason not work. To see if your model has the joints at the right position, use 
            the <EM>show skeleton</EM> checkbox.
        </P>
        <P><IMG alt="Character Skeleton as shown in the tool" src="Skel.gif"></P>
        <P>Instead oft hat, you can check <EM>Make Bone Locators</EM>, import the model, 
            save as gm and then open it in GM Viewer or Maya. The Model will have locators 
            at all the joint positions. Don't forget to uncheck the checkbox before doing 
            the actual export for the game.
        </P>
        <P><IMG alt="Character with bone locators" src="BoneLocators.gif"></P>
        <P>Non- automatic resizing of Characters can be done via the <A href="#Locations">Scene 
                / Edit Scene</A>&nbsp;menu.
        </P>
        <P>When stock models or models made from stock models with the head switcher are 
            exported to VRML, the bone numbers will be retained. That means such models can 
            be edited in a modeler (such as Max or Maya) and then converted back to gm 
            without losing animation information.</P>
        <P>New parts that are added in the modeler (like, for example, a hat) get bone 
            number 0 and can be bound afterwards with the tool's regular binding 
            functionality - but again without the bone information that came from the stock 
            models being lost. This means in particular that the animation of hands and 
            fingers (which the tool can't do) can be retained from the stock models.
        </P>
        <P>Even the deleting of parts in the modeler program will cause no problems.
        </P>
        <P>Note: Because bone information is coded into texture coordinates (UV) you need 
            to make sure VRML files are saved with at least six digits precision.</P>
        <H2>Hats</H2>
        <P>If Models have a large hat, theres has to be a little space left&nbsp;beween the 
            hat and the upraised arms. It can sometimes happen that parts of the hat are 
            recognized as part of an arm or vice versa. You can in this case correct the 
            value in the <EM>Separate Hats</EM> field (a percentage 0-100). If after 
            binding the corners of the hat are turned downwards, decrease the value, if 
            parts of the arm stick out upwards,&nbsp;increase it.
        </P>
        <A name="ShipImport"></A>
        <H1>Ship Import</H1>
        <P>For ship import check the <EM>Ship/Item/Location</EM> checkbox. That 
            sets&nbsp;the&nbsp; <EM>u4</EM> value to 0 and unchecks the <EM>Reverse Normals</EM>
            checkBox,&nbsp; as is usually required for ships. On unchecking <EM>ship</EM>, 
            those values are reset to their&nbsp;defaults.&nbsp;&nbsp;</P>
        <P>To work in the game with sails etc., ship models need a&nbsp;set of locators. 
            The Easiest way to put those in is by loading a model from the game and saving 
            its locators to a text file (via the <EM>locators</EM> menu). Then &nbsp;load 
            your new model and import the locators form that text file (again via the <EM>locators</EM>
            menu). The <EM>view&nbsp; /&nbsp; locators</EM> menu allows you to edit the 
            locators for the purposes of the new ship (see <A href="#Locators">Locators</A>).</P>
        <P><STRONG>NOTE: </STRONG>
        </P>
        <P>Ships have some extra information in them that other models don't. For VRML 
            models that information is generated by the tool, but not correctly - which 
            results in the computer beeping once when loading such a model at sea. About 
            further consequences I'm not sure. The tool will prompt you for an existing 
            model to copy the missing data from. If you just cancel that dialog, the data 
            will be generated.</P>
        <A name="WalkFiles"></A>
        <H2>Walk Files</H2>
        <P>The path crew members walk on a ship is defined by the ...walk.c file in the <EM>PROGRAM\SEA_AI\walk</EM>
            subdirectory of your game installation folder. The first set of numbers in this 
            file determines a set of points, the second their animation types and the third 
            the connections bewteen them..</P>
        <P>To make editing those points easier they can now (via <EM>the Walk Files&nbsp; / 
                Read Walk File</EM> menu) be shown in the tool's 2DView. You can also see 
            the connections between points, so you can easily visualize where characters 
            walk. If you have the ship model loaded, you'll also see its bounding box for 
            orientation.</P>
        <P>The points can be moved around with the mouse. Double-clicking a point opens a 
            dialog box where you can edit a point's coordinates (including y) and its type. 
            Type 0 is an ordinary walking point, type 1 a point for loading a cannon, 2 and 
            3 I don't know,&nbsp;5, 4 and 6 are successive levels of climbing the vants.</P>
        <P>With the slider on the right in the top portion of the 2D window the whole 
            window can be made transparent, so you can view the model in GmViewer in the 
            background. However this makes everything very slow.
        </P>
        <P>For Maya users, the points can be transformed into a set of locators 
            via&nbsp;a&nbsp;menu item in the 2D View. Those locators are automatically 
            added to the currently loaded model (make sure you have a backup copy). After 
            editing the locators in Maya the tool can generate the points section of the 
            walk file in text format. This can then with a text editor be inserted into an 
            existing walkfile.
        </P>
        <A name="Gm2Vrml"></A>
        <H1>gm-&gt;VRML</H1>
        <P>When importing the vrml model into Max, make sure to add the directory with the 
            textures to the list of locations where Max will look for textures. Textures 
            have to be in tga format (use txconverter for that). Many models use the 
            texture shadow.tga which the game setup does not put into the RESOURCE\Textures 
            direcory but into the INTERFACES subdirectory. So you have to add that to the 
            list of texture locations for Max, too.
        </P>
        <A name="Vrml2Gm"></A>
        <H1>VRML-&gt;gm</H1>
        <P>When exporting VRML from Max, make sure you coose vrml97, not vrml 1.0. Select 
            polygon type "triangles" and deactivate the checkbox "bitmap url-prefix".
        </P>
        <P>The <EM>u4</EM> value only affects conversion from vrml to gm. It MUST be 4 for 
            characters. For the original models that aren't characters it's usually zero, 
            but conversion to gm also works if you leave it at 4. (At least in gm viewer, I 
            haven't tested those ingame). Probably a value of 4 for non-character models 
            only wastes space. Models with a value of 4 in the <EM>u4</EM> field also get 
            locators for camera, saber, gun etc.
        </P>
        <P><STRONG>VRML reading is quite slow, so be patient. </STRONG>
        </P>
        <P>When import is complete, the tool will prompt you for an existing file to copy 
            "collision information" from. This should usually be ignored (choose <EM>Cancel</EM>), 
            except for ships (see <A href="#ShipImport">Ship Import</A>). Not sure this has 
            really anything to do with collision.</P>
        <P>Menu <EM>View/Details</EM> shows a treeview that should reflect the structure of 
            the original vrml file. Transform, Shape and Material nodes will be correctly 
            handled - anything else might not.
        </P>
        <P>Textures must be converted to tga.tx and copied to the appropriate directory. 
            VRML files without texture information can be converted and viewed in the tool 
            or in GmViewer, but they will not work ingame. The tool will insert "Texture 
            missing .tga" for the texture, but supplying a texture by that name is not 
            enough, the VRML file needs to have texture coordinates.
        </P>
        <A name="StartGame"></A>
        <H1>Start Game</H1>
        <P>The<EM> Start Game</EM> menu command and button are meant for the testing of 
            characters. The currently loaded model will be copied into the file <EM>main_x.gm</EM>
            in the game directory and the game then started. The script files will not be 
            altered so as not to interfere with your own mods. For character testing to 
            work, you have to change the script files manually to make the main charcter 
            model <EM>main_x</EM>, in &nbsp;whatever&nbsp; way your mods do that. For the 
            unmodded stock game, it will suffice in <EM>characters_init.c</EM> (localized 
            version) to&nbsp;change the lines</P>
        <PRE>ch.id = "Blaze"; </PRE>
        <PRE>ch.nation = ENGLAND; </PRE>
        <PRE><STRONG>ch.model = "blaze";  </STRONG></PRE>
        <P>in <EM>characters_int.c</EM> to
        </P>
        <PRE>ch.id = "Blaze"; </PRE>
        <PRE>ch.nation = ENGLAND; </PRE>
        <PRE><STRONG>ch.model = "main_x"; </STRONG></PRE>
        <PRE><STRONG></STRONG>&nbsp;</PRE>
        <STRONG>Use the Start Game command only when you have loaded a character model!</STRONG>
        <A name="Locators"></A>
        <H1>Locators</H1>
        <P>After loading a model, its locators can be viewed (numerically) and edited via 
            the <EM>View / Locators</EM> menu. Even new Locators can be added this way.
        </P>
        <P>For each locator there are two text strings (only one of which is shown in GM 
            Viewer), then three single values (X, Y, Z) for the locator position, and again 
            three single values of each of the tree axes, so the locator can have an 
            orientation. The orientation is important for the saber and gun locators, for 
            example, because&nbsp;it will determine the weapons' orientation. In case of 
            doubt, set the axes to (1, 0, 0), (0, 1 ,0) and (0, 0, 1)&nbsp; - that is XX 
            to1, XY and XZ to 0, YY to 1, YX and YZ to 0, ZZ to 1 and ZX and ZY to 0.
        </P>
        <P>With the <EM>Apply Changes</EM> button the changes are copied into the current 
            model - if the model is then saved, so are the new locators. Alternatively 
            Locators can be separately saved into a text file via the <EM>Locators</EM> menu. 
            Those saved locators can afterwards be loaded back into the same or an other 
            model. Of course you can also hand-edit the text file in a text editor or 
            create it with an external program.
        </P>
        <P><STRONG>Locators can also be viewed </STRONG><A href="#characterPatch"><STRONG>in the 
                    character patch</STRONG></A><STRONG>.</STRONG></P>
        <A name="Locations"></A>
        <H1>Scenes</H1>
        <P>The commands in the&nbsp; <EM>Scenes</EM> menu allow you to create new empty 
            rooms and to put furniture into a room (this works for new as well as existing 
            rooms).
        </P>
        <P>The <EM>Make new room</EM> command creates a very simple room (a box with a 
            brick texture and a door which is a box with a wood texture) and displays it in 
            the 3D window. Maybe you have to move backwards a little (by holding the right 
            mouse button down and pulling the mouse towards yourself)&nbsp; in order to 
            view it in full.
        </P>
        <P><IMG alt="New Room" src="NewRoom.gif"></P>
        <H2>Editing&nbsp;scenes</H2>
        <P>The&nbsp; <EM>Edit Scene</EM> &nbsp;menu item displays a second window where you 
            can&nbsp; add new meshes to the scene ot position, rotate and resize the single 
            meshes that together make up the model. It can be used with an 
            existing&nbsp;location that was previously loaded or with a &nbsp;new room that 
            was created via the <EM>Make new room </EM>command (or with any other model 
            loaded).</P>
        <P><IMG alt="Decorate Room Controls" src="DecorateRoom.gif"></P>
        <P>Of course these controls can also be used for models with only one mesh. That 
            way a model can be rotated (which is&nbsp;not too useful), resized (which 
            is&nbsp;<EM>very</EM> useful) or translated (not advised for single-mesh models 
            because if translated the model will not be centered in its own coordinate 
            system).</P>
        <H3>Resizing animations</H3>
        <P>Whe a character model has been loaded before opening the scene editing window, 
            the <EM>Scale animation also</EM> checkbox will be checked. If the model is now 
            scaled, the&nbsp;sekeleton (and&nbsp;the model's&nbsp;locators) will be scaled 
            with it.&nbsp;This will not affect the original skeleton in man.an - you have 
            to separately save the .an file via the <EM>Save Animation</EM> button. You 
            then get a file <EM>my.an</EM> in the game's <EM>resource&nbsp;\ animation</EM> 
            directory which needs to be appropriately set up in the POTC script to be used 
            with the model (see below).&nbsp;Save the resized model via the <EM>Save as gm</EM>
            button in the main window ( _x is appended to the filename).
        </P>
        <P>The two buttons <EM>Woman/youth size</EM> and <EM>Child size</EM> (not in the 
            above picture) rescale to standard sizes, so all characters with that size can 
            use the same animation (<EM>.an</EM> file).
        </P>
        <P>To rigg up your new animation on POTC script you have to do the following:
        </P>
        <UL>
            <LI>
                Make a copy of the&nbsp;file <EM>man.ani</EM>
            and change the first line in it so it points to you new .an file.&nbsp;
            <LI>
                Set the character's <FONT face="Courier">animation</FONT> attribute to the name 
                of that <EM>ani</EM> file. This is usually done in <EM>characters_init.c </EM>(watch 
                out: in the European version there are&nbsp;two instances of that file!)</LI></UL>
        <H3>Adding meshes</H3>
        <P>To add a mesh to the current scene, double-click it in the left listbox. Most of 
            the objects that come with the tool have been cut out from models in the 
            original game. The fence was provided by <STRONG>Alan Smithee</STRONG>.
        </P>
        <P>If you add your own models to the <EM>Meshes</EM> directory they will also show 
            up in the list.
        </P>
        <H3>Move, resize or delete a mesh
        </H3>
        <P>To move, resize or delete a mesh select it in the treeview and use the 
            sliders/buttons.
        </P>
        <H2>Making .COL files</H2>
        <P><EM>.col</EM> files&nbsp;are used by the game for lighting. Lacking a better 
            option, the tool enables you&nbsp;to make simple <EM>.col</EM>files with just 
            one color, so you can at least make the overall appearaence of &nbsp;a room 
            darker or give it a certain shade.
        </P>
        <P>You find this in the menu <EM>Light</EM> of the 2D View.&nbsp;To use&nbsp;it you 
            need to load the location model for which you want to&nbsp;create a col file 
            for first. You will then be prompted for&nbsp;a filename to save the new col 
            file to. After that you can select a color. All vertices will be colored with 
            this color. Usually you would select a shade of grey&nbsp;(black will make the 
            room fully dark).</P>
        <A name="MakeLocationsFile"></A>
        <H2>Make Locations File</H2>
        <P>For new locations to be used in the game, there has to be some initialization 
            code. This code can be put into a file in a subdirectory named <EM>mods</EM> in 
            the <EM>Program/Locations/Iinit</EM> folder. If you use the Post Build 12 
            modpack, those files will be automatically loaded and processed. &nbsp;</P>
        <P>The <EM>Make Locations File</EM> menu item in the <EM>Scene</EM> menu lets you 
            create such a file which initializes all the locations in a 
            given&nbsp;directory (the <EM>scene</EM> subfolder in the <EM>Resource/Models/Locations/</EM>
            folder).
        </P>
        <P>It will also convert all character patches(if present) in that folder and its 
            subfolders from <EM>.gm</EM> to <EM>.ptc</EM> file format.
        </P>
        <P>All you have to do is put all the <EM>gm</EM> files for the location (geometry, 
            locators etc.) into subfolders of that folder and then select the menu item. 
            &nbsp;</P>
        <P>Each Island should have its own Directory with subdirectories for the towns.
        </P>
        <P><STRONG>Note that for a folder with many locations this is a lengthy process and 
                will take some time, during which the program will not be responding.&nbsp; </STRONG>
        </P>
        <A name="2DView"></A>
        <H1>2D View</H1>
        <P>The menuitem <EM>View/2D</EM> in the main window display a 2D Window. If a model 
            is loaded, its size will be shown as a rectangle. This windows also serves to 
            create rooms from polygons, edit the character patch or <A href="#WalkFiles">make 
                ...walk.c files</A> for ships.</P>
        <H2>Creating rooms from polygons</H2>
        <P>In 2D View, use the&nbsp;<EM>Line</EM> button in the toolbar&nbsp;to&nbsp;make a 
            polygon which can later be extruded to a room.&nbsp;Make points by clicking 
            into the 2D view. When you're done, click the <EM>Line</EM> toolbar button 
            again.
        </P>
        <P>If you work from an existing floor plan you can load it as background image via 
            the corresponding menu item.</P>
        <P>Use the <EM>Polygon / Extrude</EM> menu item to create the room and switch to 3D 
            View to see it.
        </P>
        <P>For large rooms the texture will probably need to be tiled, which can be done 
            via the <EM>Edit Scene</EM> window.
        </P>
        <P><STRONG>NOTE: </STRONG>
        </P>
        <P>If you add the points for the polygon in clokwise order the room will be visible 
            form the outside, if you add them in counterclockwise order it will be visible 
            from the inside.
        </P>
        <H3>Making Doors and Windows</H3>
        <P>The <EM>Door</EM> and <EM>Window</EM> menu items cut out "fake" doors and 
            windows form the walls: they're not really open, but just recede a little bit 
            from the rest of the wall. You should apply a window or door texture to those 
            parts via the "Edit Scene" window. Note that as soon as a wall has a door or 
            window, that wall can also be separately textured.
        </P>
        <P>There is no "undo" function for doors and windowsyet, however each wall can only 
            have one window or door, so if something goes wrong just make a new window/door 
            and the old one will disappear.
            <H3>Editing the character patch</H3>
        <P>The menuitem <EM>Scene / Patch / Read character patch</EM> in the main window 
            shows a dialog box to select a character patch file <EM>(.ptc</EM>). The Patch 
            will be shown in 2D View. The Points in the patch can be dragged around with 
            the mouse.
        </P>
        <P>The menuitem <EM><EM>Scene </EM>/ Patch /&nbsp;Create new character patch</EM> in 
            the main window creates a rectangluar patch which can then be edited in 2D 
            View.
        </P>
        <P>If a model is loaded before creating a new patch, the default values for the 
            patch size are matched to the size of the model. For each loaded mesh a box 
            with the same size will be shown with the patch for ease of editing.
        </P>
        <P>Double-Click on a point to create a hole in the patch.
        </P>
        <H3>Locators</H3>
        <P>If before displaying a patch a model defining locators for a location <EM>(_l.gm</EM>) 
            has been loaded, the file selection dialog box will not be shown, but the .ptc 
            file for the location will be opened. The program&nbsp;in this case also shows 
            the locators, which can then be freely positioned. Double-clicking a locator 
            shows some of its properties in another dialog box.
        </P>
        <P>Via the menu and toolbar of&nbsp;the patch editing window you can&nbsp;add new 
            locators.</P>
        <A name="Animations"></A>
        <H1>Animations</H1>
        <P>Use the <EM>View / Animation Data</EM> menu item to to open the animation editor 
            window. (For this a character model hasto be loaded first.). Select the frame 
            you want to edit with the long slider in the middle. To select a joint 
            (bone)&nbsp;by clicking on one of the radio buttons in the skeleton picture on 
            the right. You can now rotate this joint with the three slider at the top. If 
            you want to move a bone that doesn't have a radio button, enter its number in 
            the textbox on the upper left. For the bone numbers see the picture in the <A href="#CharacterImport">
                Character Import</A>&nbsp;section. When you're satisfied with all bones' 
            positions for that frame, klick the <EM>Animation / Make Keyframe</EM> menu 
            item. You don't have to do this for all frames, the program interpolates 
            between keyframes.
        </P>
        <P><IMG alt="Animation maker window" src="AnimationMaker.gif"></P>
        <P>The complete animation can be saved via the <EM>Animation / Save</EM> menu item. 
            You get a file in your game's the <EM>Resource / animation</EM> directory with 
            the same name as the animation you started with (that was selected in the main 
            window), with an _x appended to the filename.
        </P>
        <H2>Swapping gender</H2>
        <P>The <EM>Translate bone numbers</EM> menu item in the naimation window allows you 
            to put the male skeleton into a female character derived from Danielle (so she 
            can sit) or the female skeleton into a male character. Male characters have 
            before to be resized to female size via the Scene Editing window (in Main 
            window, choose <EM>Scene /Edit Scene</EM>).&nbsp;This will also create a new 
            animation <EM>my.an</EM> in the game's animation directory. That file will 
            be&nbsp;needed for the following process, so make sure it's there. (Even if 
            it's a female character you want to put the male animation into, you need first 
            to resize a male character to female size to get the <EM>my.an</EM> file).
        </P>
        <P>The models with the changed skeleton then needs to be saved. In the process a 
            new <EM>.an</EM> file is created: <EM>man_woman.an</EM> for male models with 
            female skeleton and <EM>woman_man.an</EM> for female models with male 
            skeletons. These should then show up in the Main window's animation combobox. 
            Select the appropriate one and then reload the model with the new skeleton to 
            test it.&nbsp;For use in game you also have to rig up the new <EM>.an</EM> files 
            via a corresponding <EM>.ani</EM> file and the script code.
        </P>
        <P>Also make sure you copy the locators from Danielle into the resized male model 
            (again in Main window: <EM>Locators / Write to File</EM> and <EM>Locators /Read 
                from File</EM>.
        </P>
        <A name="Extras"></A>
        <H1>Extras</H1>
        <p>In the <EM>Extras</EM> menu you find the commands for
        </p>
        <UL>
            <LI>
            raising a character model's arms
            <LI>
            character mixing (exchanging heads)
            <LI>
            dividing a model up into separate meshes (experimental!)
            <LI>
            raising the coordinates of an inside location by a fixed amount
            <LI>
            downloading the latest version of this tool
            <LI>
                starting plugins</LI></UL>
        <H2>Dividing a model up into separate meshes</H2>
        <P>Select a model which will then be separated into smaller parts (it's supposed to 
            extract the submeshes, but most of the time it gets much smaller parts, such as 
            polygons). For performance reasons the model will not be shown in the 3D 
            Window.</P>
        <P>Save the result as vrml (gm is not yet working) and use a modeler program 
            to&nbsp;cut out&nbsp;the elements you want and glue them back together.</P>
        <P>This facilitates the cutting out of submeshes such as&nbsp;furniture from a 
            location model.</P>
        <A name="RaiseCoordinates"></A>
        <H2>Raising the coordinates of an inside location by a fixed amount</H2>
        <P>Stock game inside locations usually have their floor below zero (water 
            level).&nbsp;However character models&nbsp;cannot be loaded to locator position 
            that are below zero. As that prevents bed locators (see <A href="#MakeLocatorsFormTraceFile">
                Making Locators from a script-generated tracefile</A>) to work, this menu 
            item lets you raise all coordinates by a fixed amount.
        </P>
        <P>It shows a file selection dialog, where you have to select an inside location 
            model. The coordinates for this model, all its locators, its windows, its 
            background skybox and its character patch will be raised by the given amount.
        </P>
        <P>Of course this has other uses besides bed locators (e.g. location flooding).
        </P>
        <A name="Plugins"></A>
        <H1>Plugins</H1>
        <H2>NK</H2>
        <P>This plugin provides a rudimentary user interface for Nathan Kell's UV tool.</P>
        <P>From the original help file of that program:</P>
        <P><FONT face="Arial" color="#003399">NathanKell (</FONT><A href="mailto:nathankell@piratesahoy.net"><FONT face="Arial" color="#003399">nathankell@piratesahoy.net</FONT></A><FONT face="Arial" color="#003399">)
            </FONT>
        </P>
        <P><FONT face="Arial" color="#003399">DESCRIPTION: This program will allow you to merge 
                the bone numbers that were baked into the UV coordinates of a WRL file on 
                export from The Tool into a second WRL file you specify with edited UVs. If you 
                have not edited the UVs since exporting the WRL from The Tool, running this 
                program is not necessary. However, if your 3d suite does *not* support UV 
                coordinates with six decimal places, you will need to run this program and give 
                it The Tool's original WRL and your modified WRL. </FONT>
        </P>
        <P><FONT face="Arial" color="#003399">USAGE: Place in same folder as WRLs. Go to a 
                command prompt there. Type: Bonemerge FileWithCorrectBoneNumbers[.wrl] 
                FileToAddThemTo[.wrl] [FilenameForMergedData.[wrl]] [-d] [-h] </FONT>
        </P>
        <P><FONT face="Arial" color="#003399">NOTE: The first two wrl files must have the same 
                number of vertices in the same order. You need not append .wrl to each 
                filename. If desired, you may explicitly specify the name of the file to write 
                to; if not, the filename will be FileToAddThemTo_b.wrl </FONT>
        </P>
        <P><FONT face="Arial" color="#003399">FileWithCorrectBoneNumbers.wrl: This file must 
                have the correct six-digit UVs. The XYZ positions of the vertices need not be 
                the same as when it was exported from The Tool, though. </FONT>
        </P>
        <P><FONT face="Arial" color="#003399">FileToAddThemTo.wrl: This file has the edited 
                UVs. It must have the same number and order of vertices as the first file. </FONT>
        </P>
        <P><FONT face="Arial" color="#003399">FilenameForMergedData.wrl: If specified, the 
                program will write to this file. Otherwise it will write to 
                FileToAddThemTo_b.wrl </FONT>
        </P>
        <P><FONT face="Arial" color="#003399">-d: Debug mode. Will output to debug.log the 
                states of the reading and writing operations, and the bone numbers of the 
                vertices (if found). </FONT>
        </P>
        <P><FONT face="Arial" color="#003399">-h: Help mode. This. </FONT>
        </P>
        <P><FONT face="Arial" color="#003399">BIG NOTE: This will only do the merging for the 
                FIRST object/material group in your WRL file. So make sure that, when you 
                export to WRL in your 3D package, all geometry is part of the same object and 
                it all uses the same texture.</FONT></P>
        <P>However command line options will not be used when invoked from the plugin. For 
            better control start the program <EM>BoneMerge.exe</EM> (in the <EM>Plugins</EM>
            directory) from the command line.
        </P>
        <H2>Utilities</H2>
        <A name="MakeLocatorsFormTraceFile"></A>
        <H3>Making Locators from a script-generated tracefile</H3>
        <P>Nathan Kell created some console code to write locator coordinates into <EM>compile.log</EM>
            from ingame (originally to make bed locators for Chouch Captain Charles' 
            sneaking mod). This&nbsp;plugin parses <EM>compile.log</EM> and inserts the 
            locators into the corresponding location models.&nbsp;</P>
        <P>For this to work, the location's coordinates have to be raised, usually 
            by&nbsp;an amount of 1.0&nbsp;(see <A href="#RaiseCoordinates">Raising the 
                coordinates of an inside location by a fixed amount</A>). Do this before 
            making the locators.</P>
        <P>To write the locators into the log file, you should have something like the 
            following in <EM>console.c</EM> (originally by Nathan Kell, faults by me):</P>
        <P>
            <FONT face="Courier New">#include "SDK\LocatorWrite.c"</FONT></P>
        <P><FONT face="Courier New">//...</FONT></P>
        <P><FONT face="Courier New">void ExecuteConsole()
                <br>
                {
                <br>
                &nbsp; ref pchar = GetMainCharacter();
                <br>
                &nbsp; ref ch;
                <br>
                &nbsp; int i;
                <br>
                <br>
                &nbsp; //...&nbsp;<br>
                &nbsp; string model = "<EM>modelname</EM>_l";
                <br>
                <br>
                &nbsp; pchar.vcskip = true;
                <br>
                &nbsp; if(findloadedlocation() == -1) return;
                <br>
                &nbsp; ref loc = &amp;Locations[FindLoadedLocation()];
                <br>
                &nbsp; if(loc.models.always.locators == model)
                <br>
                &nbsp; {
                <br>
                &nbsp;&nbsp;&nbsp; DoLocWrite(1.0, 0.5, 5, true);
                <br>
                &nbsp;&nbsp;&nbsp; /*
                <br>
                &nbsp;&nbsp;&nbsp; ref fch1 = LAi_CreateFantomCharacter(false, 0, true, false,
                <br>
                &nbsp;&nbsp;&nbsp; false, "man2", "goto","upfrombed");
                <br>
                &nbsp;&nbsp;&nbsp; ref fch = LAi_CreateFantomCharacter(false, 0, true, false,
                <br>
                &nbsp;&nbsp;&nbsp; false, "man1", "reload", "onbed");
                <br>
                &nbsp;&nbsp;&nbsp; LAi_SetActorTypeNoGroup(fch);
                <br>
                &nbsp;&nbsp;&nbsp; LAi_ActorSetLayMode(fch);
                <br>
                &nbsp;&nbsp;&nbsp; */&nbsp;
                <br>
                &nbsp;&nbsp;}&nbsp;
                <br>
                &nbsp;&nbsp;else
                <br>
                &nbsp; {<br>
                &nbsp;&nbsp;&nbsp; ReloadToLocModel(model);
                <br>
                &nbsp; }
                <br>
                } </FONT>
        </P>
        <P><FONT face="Courier New"><FONT face="Times New Roman">The function <FONT face="Courier New">DoLocWrite</FONT></FONT></FONT><FONT face="Times New Roman">
                should in recent build or modpack versions be in <EM>SDK\LocatorWrite.c</EM>. </FONT>
        </P>
        <P>Edit the code in&nbsp;&nbsp;<EM>console.c </EM>so that the line
        </P>
        <FONT face="Courier New">string model = "<EM>modelname</EM>_l";</FONT>
        <P></P>
        <P>points to the location model you want to make locators for. Start the game, then 
            hit F12. Your character is teleported to the location. Now place your character 
            before the bed and hit F12 again. A message will inform you that if the 
            bed'shead is to your left you need to turn around (without changing 
            position).&nbsp;After doing so, if needed, hit&nbsp;F12 again.
        </P>
        <P>You can then edit <EM>console.c</EM> again to point it to a different model and 
            teleport again with F12.
        </P>
        <P>When you're done, process <EM>compile.log</EM> with the plugin in the <EM>Extras / 
                Utilities / Locatormaker / readLocators</EM> menu. &nbsp;</P>
        <P>To test, comment out the <FONT face="Courier New">DoLocWrite</FONT> line and 
            uncomment the block below, then leave the location and hit F12 once more.
        </P>
    </body>
</html>
